# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 235483
# self = https://watcher.sour.is?offset=235483
# prev = https://watcher.sour.is?offset=235383
How to think in the age of #AI: https://archive.is/YyIQX
@andros U2FsdGVkX1/p8YNjgA9LA0I+c2+BDKCm8qrUmBXkkjZz8G6gISTPSyRgrJAZqzh3waZ5OyEFM8N1BsHoDQ2qEA==
@javivf Go for it! You're free to use it.
It's been a community adventure to explore the whole DM/encryption thing. So the community can do with it whatever they want. 😎
https://pynews.com.br/@villares/114413536773436549
@lyse hey pascal bro! My first coding class was with an old Borland Turbo Pascal. I made my own little window manager for the assignments for class.

The teacher didn't appreciate it much since I had to print out the code to turn it in. My Yatzee game was a stack of pages. 🤪
@lyse Very nice! 👌 So lovely and green 😅 -- What's with the sign in 16? 🧐
Interesting edit observed by the new yarnd powering this pod twtxt.net 🧐
@movq I've tried and there's little interest so I've given up for now 😭
@bender Wut?! 😂
Maravilhosa live de aniversário da Live de Python do @dunossauro@dunossauro

https://www.youtube.com/live/IE8coapVoSk

Sensacional...

-> um comentário que conecta com o final da live, as contas do Mastodon todas geram feeds RSS, é só acrescentar .rss no final da url :)
🧮 USERS:1 FEEDS:2 TWTS:1324 ARCHIVED:86731 CACHE:2910 FOLLOWERS:22 FOLLOWING:14
so... maybe I should try a new fresh approach. I gave up avoiding adding a new data structure and created a drawing_dict to iterate and draw. At this point it contains a reference to a drawing function and the attributes to use... it should give me enough flexibility. I'm using shapes as keys,
I have to think about the case of the complex body...
so... maybe I should try a new fresh approach. I gave up avoiding adding a new data structure and created a drawing_dict to iterate and draw. At this point it contains a reference to a drawing function and the attributes to use... it should give me enough flexibility. I'm using shapes as keys,
I have to think about the case of the complex body... the body should be the key in that case. But then, removing stuff will be harder.

https://github.com/villares/sketch-a-day/blob/main/2025/sketch_2025_04_27/sketch_2025_04_27.py
Prayer helps even if you don't believe in God: https://archive.is/OYCTV
Hahaha! https://blog.bofh.it/debian/id_471
#PyPodcats Hidden Figures of #Python #podcast @pypodcats@pypodcats

Episode 8, with Mojdeh Rastgoo:

https://pypodcats.live/episodes/ep-8/

«We interviewed Mojdeh Rastgoo, the newest member of PyPodcats!

Since discovering Python and the open-source community, Mojdeh has been actively involved in the Python ecosystem. She gave her first tutorial in 2018 at EuroSciPy and has since contributed in many ways. She is a member of the PSF Code of Conduct Working Group, a co-organizer of PyLadies Paris, and now a host of PyPodcats!

In this episode, Mojdeh shares more about herself and her passion for the community. We also take a look back at 2024, discuss our plans for 2025, and introduce a few new changes, including our Open Collective account, where you can support us.

Be sure to listen to the episode to hear about our plans and get to know your new host Mojdeh!»
@movq I started with Delphi in school, the book (that we never ever used even once and I also never looked at) taught Pascal. The UI part felt easy at first but prevented me from understanding fundamental stuff like procedures or functions or even begin and end blocks for ifs or loops. For example I always thought that I needed to have a button somewhere, even if hidden. That gave me a handler procedure where I could put code and somehow call it. Two or three years later, a new mate from the parallel class finally told me that this wasn't necessary and how to do thing better.

You know all too well that back in the day there was not a whole lot of information out there. And the bits that did exist were well hidden. At least from me. Eventually discovering planet-quellcodes.de (I don't remember if that was the original forum or if that got split off from some other board) via my best schoolmate was like finding the Amber Room. Yeah, reading the ITG book would have been a very good idea for sure. :-)

In hindsight, a console program without the UI overhead might have been better. At least for the very start. Much less things to worry about or get lost.

Hence, I'd recommend to start programming with a console program. As for the language, not sure. But Python is probably a good choice, it doesn't require a lot of surrounding boilerplate like, say Java or Go. It also does exceptionally well in the principle of least surprise.
So far in 2025, I’ve had the privilege of peer-reviewing for these great journals: * Philosophia - A Global Journal of Philosophy, * American Catholic Philosophical Quarterly. Grateful to contribute to the academic community! #Philosophy #PeerReview
@sorenpeter I see, ta. The big spring cleaning continues. ;-)
Hi @lyse, I canceled the domain, so neotxt or my feed there are not coming back.
Hi @lyse, I canceled the domain, so neotxt or my feed there are not coming back.
Hi @lyse, I canceled the domain, so neotxt or my feed there are not coming back.
Hi @lyse, I canceled the domain, so neotxt is not coming back.
Hi @lyse, I canceled the domain, so neotxt is not coming back.
Hi @lyse, I canceled the domain, so neotxt is not coming back.
I went on a small hike, just 12-13km this time. The weather was great, blue sky, sunny 18°C, but with the wind it felt colder. Leaves and other green stuff is exploding like crazy. It looks super beautiful right now.

I came across an unfortunately dead salamander on the forest road, some fenced in deer, heaps of sheep, some unmagnetic cows (some were aligned very roughly north-south, but mainly with the axis of the best view I believe), a maybeetle and finally an awesome sunset. Not too shabby! The sheep were mehing all the time, that was really lovely to hear. And the crickets were already active, too. Didn't expect them to hear yet. I tried to record the concert, but the wind messed it all up. Oh well.

Sheep

https://lyse.isobeef.org/waldspaziergang-2025-04-27/
The Manifesto for Teaching and Learning in a Time of Generative #AI: https://openpraxis.org/articles/777/files/6749b446d17e9.pdf
I should probably clarify: Which language/platform? Something graphical or web-based right from the beginning or do you start with a console program?
@bender Must be the US tariffs, it's working reasonably quick in Europe. :-D
@movq Your next experiment should be triangles. :-)
I want to simplify #pymunk + #py5 use for my students but I struggle with finding good strategies… Pymunk has two types of (linked) objects for each simulated object: body and shape. For complex objects (like concave shapes) you can use more than one convex shape linked to the same body. In these cases I usually want to have an extra shape to draw and hide the triangulation.
I don't want to keep extra data structures to track the simulation objects to draw. I tried both extending and monkey patching either body or shape objects to be "drawable" so I can just iterate the native pymunk structures and ask stuff to draw themselves (would be nice, huh?), but there is always some snag. If I extend shape classes, I stumble on the complex objects with many shapes drawn with divisions. If I extend the Body class, the problem is static objects have shapes but share a virtual constant body, more of a flag, so I can't add anything to it, so back to keeping track of a separate list of static shapes… Then performance & serialization issues, I want to be able to easily pickle simulations, but if I add Py5Shape objects to the extended/modified classes they become unpickable...
I have bigger fishes to fry right now (the paralyzing PhD) but this is something I would like to pair with someone more experienced to work on.
To the parents or teachers: How do you teach kids to program these days? 🤔
https://helderman.github.io/htpataic/htpataic01.html How to program a text adventure in #C
If you just do a square, the score is still surprisingly high … https://movq.de/v/68eb406e17/s.png 😅
Os planos para o #TGV mudaram, assim sem se falar muito do assunto - uma mudança que inclui a deslocação da estação de TGV, para... uma área de Reserva Ecológica Nacional.

É só mais um caso em que o #governo, em plena #CriseClimática, continua a optar por não ter uma política ecológica.

O @LIVRE@LIVRE escreveu sobre esta alteração, aqui: https://partidolivre.pt/comunicado/sobre-a-alteracao-do-tracado-do-tgv-e-a-construcao-de-novas-pontes-em-gaia-e-porto

#ptpol
Why Pale Blue Dot generates feelings of cosmic insignificance: https://aeon.co/essays/why-pale-blue-dot-generates-feelings-of-cosmic-insignificance
@bender Oh 🤣🤣🤣
Should ink to this
Hmm not sure how that link is 404'kng for you 🧐 It doesn't here 🤦‍♂️
@bender What you talk'n about 🤣 It's not broken, it's perfectly functional 🤣
@lyse Seems legit 😅
I have a great idea for fixing the US economy. Get rid of all the nuclear weapons 🤣
Fiz alguns toots ao longo dos dias, a comentar o que diz cada programa eleitoral no que diz respeito ao #digital. Cingi-me aos programas que já foram publicados, e acho que não vou fazer a mais nenhum. Aqui fica um link para cada um desses toots:

#ADN: https://ciberlandia.pt/@marado/114387801741556979
#ND: https://ciberlandia.pt/@marado/114348377182888840
#IL: https://ciberlandia.pt/@marado/114347354072140841
#AD: https://ciberlandia.pt/@marado/114392455216165982
#PAN: https://ciberlandia.pt/@marado/114324690217343729
#Volt: https://ciberlandia.pt/@marado/114358606266556238
#PS: https://ciberlandia.pt/@marado/114287187178316531
@LIVRE@LIVRE: https://ciberlandia.pt/@marado/114359377128866906
@BlocodeEsquerda@BlocodeEsquerda: https://ciberlandia.pt/@marado/114309601123227991
#CDU: https://ciberlandia.pt/@marado/114325507241653084

#ptpol #legislativas #legislativas2025
@prologic In few weeks for sure, I have a couple of features in mind that I would like to implement (DM extension for example but I'll ask for permission to @arne to use his PoC or ask him to contribute to twtxtory directly)
@javivf Wanna list it on twtxt.dev? 🧐
@prologic Yup! :)
@javivf Ahh! So this is your client implementation? 🧐
@twtxtory is the demo instance for Twtxtory just in case someone would like to have a look (password is in the README file of the project) sorry for the confusion! O:)

@prologic I started to write it in order to understand better how twtxt works and I thought it could be useful for non-geek people but they like to host their own data
I just fixed a bug in tt's reply to parent feature. Previously, when the message tree looked like the following


Message
├╴Reply 1
│ └╴Subreply
└╴Reply 2


and "Reply 2" was selected, pressing A to reply to the parent should have picked "Message". However, a reply to "Reply 2" was composed instead. The reason was a precausiously introduced safety guard to abort the parent search which stopped at "Subreply", because its subject didn't match "Reply 2"'s. It was originally intended to abort on a completely different message conversation root. Just in case. Turns out that this thoght was flawed.

Fixing bugs by only removing code is always cool. :-)
An end to all this prostate trouble?
https://yarchive.net/blog/prostate/
@movq Bwahahaahaaa, this is fucking brilliant, I love it! :-D What a wonderful thing to start my Sunday.
@prologic This was like 20 minutes, but yeah 🤣
Today I added support for Let's Encrypt to eris via DNS-01 challenge. Updated the gcore libdns package I wrote for Caddy, Maddy and now Eris. Add support for yarn's cache to support # type = bot and optionally # retention = N so that feeds like @tiktok work like they did before, and... Updated some internal metrics in yarnd to be IMO "better", with queue depth, queue time and last processing time for feeds.
Also you have too much time on your hands 🙌 Haha 😂
@movq Only 99.9% pfffft 🤣
Can you automate the drawing with a script? On X11, you can:


#!/bin/sh

# Position the pointer at the center of the dot, then run this script.

sleep 1

start=$(xdotool getmouselocation --shell)
eval $start

r=400
steps=100
down=0

for step in $(seq $((steps + 1)) )
do
    # pi = 4 * atan(1)
    new_x=$(printf '%s + %s * c(%s / %s * 2 * (4 * a(1)))\n' $X $r $step $steps | bc -l)
    new_y=$(printf '%s + %s * s(%s / %s * 2 * (4 * a(1)))\n' $Y $r $step $steps | bc -l)

    xte "mousemove ${new_x%%.*} ${new_y%%.*}"
    if ! (( down ))
    then
        xte 'mousedown 1'
        down=1
    fi
done

xte 'mouseup 1'
xte "mousemove $X $Y"




Interestingly, you can abuse the scoring system (not manually, only with a script). Since the mouse *jumps* to the locations along the circle, you can just use very few steps and still get a great score because every step you make is very accurate – but the result looks funny:



🥴
⭐️⭐️⭐️⭐️ Revolução (sem) sangue 🎬: https://www.max.com/pt/pt/movies/revolucao-sem-sangue/dba8c8c5-5512-4e01-bdae-0e758d5516f0
Aqui diz que dá pra acessar vários jornais e revistas pelo serviço BibliON, mas eu acho que é tudo mentira, não achei nenhum jornal ou revista :(
Was just looking at the client you're using Twtxtory 🤔 Very nice! 👍 is this your client, did you write it? I'd not come across it before!
@twtxtory Hello 👋 Welcome to Yarn.social / Twtxt 😅
🧮 USERS:1 FEEDS:2 TWTS:1323 ARCHIVED:86698 CACHE:2903 FOLLOWERS:22 FOLLOWING:14
Watching o3 guess a photo's location is surreal, dystopian and entertaining
https://simonwillison.net/2025/Apr/26/o3-photo-locations/
Just checking...
@twtxtory this is a mention :)
Reply!
This is just a test...
When #AIs do science, it will be strange and incomprehensible: https://aeon.co/essays/when-ais-do-science-it-will-be-strange-and-incomprehensible
ICE Deports 3 U.S. Citizen Children Held Incommunicado Prior to the Deportation
https://www.aclu.org/press-releases/ice-deports-3-u-s-citizen-children-held-incommunicado-prior-to-the-deportation
#AI as Normal Technology: https://knightcolumbia.org/content/ai-as-normal-technology
@javivf pretty much 👌
I would guess useragent tool does the trick, isn't it?
@quark I do have an idea for syncing this 🤞
If you enjoy anything #chess related, @lichess@lichess is a fantastic, and #FLOSS, platform.

As I recover from yesterday's viral episode (ugh!) I'm getting some distraction playing the wonderful (and often hard for me) #lichess puzzles: https://lichess.org/training
@aelaraji 😂
Wikipedia's nonprofit status threatened by DC U.S. Attorney Ed Martin
https://www.washingtonpost.com/technology/2025/04/25/wikipedia-nonprofit-ed-martin-letter/
On my blog: Free Culture Book Club — Pilogy, part 1 https://john.colagioia.net/blog/2025/04/26/pilogy-1.html #freeculture #bookclub

$ bat https://twtxt.net/twt/edgwjcq | jq '.subject'
"(#yarnd)"


hahahahaha 🤣 Does your client allow you to do this or what? 🤔
Bahahahaha 🤣
@bmallred Hehe, @bender is gonna be upset with you for "making up a thread/subject" 🤣
@bmallred No! Never 😆
"New industry standards require that digital albums be priced at $7.99 or more to be eligible to chart."

#LetsMakeChartsFakeAgain
Interesting factoid... By inspecting my "followers" list every now and again, I can tell who uses a client like jenny, tt or any other client where fetches are driven by user interactions of invoking the app. What do we call this type of client? Hmmm 🤔 Then I can tell who uses yarnd because they are "seen" more frequently 🤣
First draft of yarnd 0.16 release notes. 📝 -- Probably needs some tweaking and fixing, but it's sounding alright so far 👌 #yarnd
Congrats! :)
It worked! 🥳
@bender YAYYYY TY
@bender It isn't @aelaraji's fault at all here 😅 I _think_ the only way I can improve this somewhat is by introducing a similar convergence that I _believe_ @movq built for Jenny which would fetch the mentioned feed temporarily to see if it contains the subject being replied to (_in case it's not in the cache_).

I'll think about doing this too, but I have to do it carefully so as not to cost too much in terms of resources or performance...
(#uug3i5a) @bender Nah it's there but it's a reply to a thread that isn't found here hmmm 🤔
@bender Nah it's there but it's a reply to a thread that isn't found here hmmm 🤔
@bender Oh I see hmmm 🧐
Related Twt
@bender Hah! 😂
@bender Well... I don't believe it's possible to prevent or avoid all system accidents. However, managing system safety and putting in control structures goes a long way 👌
@bender How is this dense or boring? 🧐
@bender Not quite sue I understand your reaction 🤣
These ideas are dr the two books:

- Drift into Failure: From Hunting Broken Components to Understanding Complex Systems by Sidney Dekker (2011)
- Engineering a Safer World by Nancy Leveson (2011)

The former I haven't read. The later I haven't finished reading 😅
@bender 🙌
And the idea of asynchronous evolutions comes from system accidents where control failures emerge when system structure, constraints, and evolution are poorly managed.
The idea of drift into failure is small normal adaptations erode safety over time without people noticing.
@bender allow me to try and explain over several Twts...